function details(transactionId) {
    var url = "/trans/finTransaction/details.do?transactionId=" + transactionId;
    Common.openDlg(url, "订单详情");
}
layui.define([ 'form', 'laydate', 'table' ,'layer'], function(exports) {
    var form = layui.form;
    var table = layui.table;
    var orderTable = null;
    var $ = layui.jquery;
    var view ={
        init:function(){
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function(){
                Lib.doSearchForm($("#searchForm"),orderTable)
            }
        },
        initTable:function(){
            var data = $("#searchForm").serializeJson();
            orderTable = table.render({
                elem : '#orderTable',
                height : Lib.getTableHeight(0),
                cellMinWidth: 100,
                method : 'post',
                where: data,
                url : Common.ctxPath + '/trans/finTransaction/virtualList.json' // 数据接口
                ,page : Lib.tablePage // 开启分页
                ,limit : 10,
                cols : [ [ // 表头
                    {
                        type : 'checkbox',
                    },
                    {
                        field : 'transactionId',
                        title : '订单号/交易流水号',
                        width : 300,
                        align : 'center',
                        templet:function(d){
                            return  '<span >'+d.orderNo+'</span> <br/><span>'+d.transactionId+'</span>';
                        }
                    },
                    {
                        // field : 'orderName',
                        title : '商品信息',
                        width : '15%',
                        align : 'center',
                        templet:function(d){
                            var majorTypeName = "";

                            var choiceYear = d.choiceYear==null?"":d.choiceYear;
                            var provName = d.provName==null?"":d.provName;

                            if(d.majorTypeId==1){
                                majorTypeName = "文科";
                            }else if(d.majorTypeId==2){
                                majorTypeName = "理科";
                            }else if(d.majorTypeId==3){
                                majorTypeName = d.shortGroup.replace(/,/g,'');
                            }
                            return  '<span >'+d.orderName+'</span> <br/><span >'+ provName+' ' + majorTypeName+' '+d.score+'分 </span>';

                         }
                    },
                    {
                        title : '渠道',
                        width : '10%',
                        align : 'center',
                        templet:function(d){
                            // var phone = d.phone==null?"":d.phone;
                            var channelName = d.channelName==null?d.channel:d.channelName;
                            return  '<span >'+channelName+'</span>';
                        }
                    },
                    {
                        title : '买家',
                        width : '10%',
                        align : 'center',
                        templet:function(d){
                            var phone = d.tel ==null?"":d.tel;
                            var customerName = d.customerName==null?"":d.customerName;
                            return  '<span >'+phone+'</span> <br/><span>'+customerName+'</span>';
                        }
                    },
                    {
                        title : '收款',
                        width : "10%",
                        align:'center',
                        templet:function (d) {
                            var payMethodText = "";
                            if(d.payMethod<10){
                                payMethodText = "微信支付";
                            }else if(d.payMethod<20){
                                payMethodText = "支付宝支付";
                            }else if(d.payMethod=41){
                                payMethodText = "百度小程序";
                            }else if(d.payMethod=51){
                                payMethodText = "头条小程序";
                            }else if(d.payMethod==100){
                                payMethodText = "抽奖赠送";
                            }
                            var res = '<span >￥'+d.totalMoney/100+'</span> ';
                            if(payMethodText!=""){
                                res += '<br/><hr style="width:50px;height:1px;border:none;border-top:1px solid #CCCCCC;" /><span>'+payMethodText+'</span>';
                            }
                            return  res;
                        }
                    },
                    {
                        field : 'payFlagText',
                        title : '状态',
                        width : 100,
                    },
                    {
                        field : 'payTime',
                        title : '支付时间',
                        width : 170,
                        align:'center'

                    },
                    {
                        field : 'createTime',
                        title : '下单时间',
                        width : 170,
                        align:'center'

                    },
                    {
                        title : '操作',
                        width : 90,
                        templet: function (d) {
                            return  '<a href="javascript:details(\''+d.transactionId+'\')" class="layui-table-link">订单详情</a>';
                        }
                    }

                ] ]

            });

            table.on('sort(orderTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"

                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('orderTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
            table.on('checkbox(orderTable)', function(obj){
                var finTransaction = obj.data;
                if(obj.checked){
                    //按钮逻辑Lib.buttonEnable()
                }else{

                }
            })
        },

        initSearchForm:function(){
            Lib.initSearchForm( $("#searchForm"),orderTable,form);
        },
        initToolBar:function(){
            toolbar = {
                refund : function() { // 获取选中数据
                    var data = Common.getOneFromTable(table,"orderTable");
                    if(data==null){
                        return ;
                    }
                    if (data.payFlag!=2) {
                        Common.info("该单据不是已支付状态，不能退款。");
                        return;
                    }
                    Common.postHtml("/trans/finTransaction/virtualRefund.do",{transactionId:data.transactionId,customerId:data.userId},function(rsp){
                        layer.open({
                            type:0,
                            title:"退款",
                            content:rsp,
                            area: "477px",
                            btn:["退款","取消"],
                            yes:function(index, layero) {
                                refund();
                            },
                            btn2:function(index, layero) {
                                layer.close(index);
                            }
                        });
                    });
                },
                payFlag : function(){
                    var data = Common.getOneFromTable(table,"orderTable");
                    if(data==null){
                        return ;
                    }
                    if(data.payFlag!=0){
                        Common.info("该订单不是未支付状态");
                        return;
                    }
                    Common.openConfirm("确认设置订单为已支付?", function() {
                        $.ajax({
                            url:Common.ctxPath+"/trans/finTransaction/payFlag.json",
                            type:"POST",
                            data:{ transactionId:data.transactionId },
                            success:function(rsp){
                                Common.info(rsp.msg);
                                dataReload();
                            }
                        });
                    })

                }
        };
            $('.ext-toolbar').on('click', function() {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }
    exports('virtual',view);
});
